﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using _1Dot9MasterData;
using _1Dot9MasterTransactions;

namespace _1Dot9MasterDac
{
    public class MasterDacBase : DacBase   
    {
        private string connectionStrings = "";
        private DataAccessWrapper daw = null;

        public MasterDacBase()
        {
            // ...
        }

        public string ConnectionStrings
        {
            get { return connectionStrings; }
            set { connectionStrings = value; }
        }

        /// <summary>
        /// 메쏘드의 후처리를 수행한다.
        /// 추후 각 업무단위별 DacBase에서 해당 업무 단위별 기본 DB로 override한다.
        /// </summary>
        protected override void Activate()
        {
            if (this.daw == null)
            {
                if (this.ConnectionStrings == null)
                    this.daw = new DataAccessWrapper();
                else
                    this.daw = new DataAccessWrapper(this.ConnectionStrings);
            }
        }

        /// <summary>
        /// 메쏘드의 후처리를 수행한다.
        /// </summary>
        protected override void Deactivate()
        {
            // 현재까지는 구현 없음
        }

        /// <summary>
        /// 데이터 액세스 wrapper 객체의 인스턴스를 반환한다.
        /// </summary>
        protected DataAccessWrapper DbAccess
        {
            get { return this.daw; }
            set { this.daw = value; }
        }
    }
}
